/*
 *  Copyright 2001-2004 The Apache Software Foundation
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package ar.uba.fi.posgrado.academy.web.form.subject;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import ar.uba.fi.posgrado.academy.model.Subject;

/**
 * Form para {@link Subject materias}
 * 
 * @author ariel.piechotka
 */
@SuppressWarnings("serial")
public class SubjectForm extends ActionForm {

	private Long id;

	private String code;

	private String name;

	private Short credits;

	private String curriculum;

	private List<Subject> subjects = new ArrayList<Subject>();

	@Override
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		ActionErrors actionErrors = new ActionErrors();

		if (this.code.equals(""))
			actionErrors.add("subject.code", new ActionMessage(
					"subject.code.empty"));
		if (this.name.equals(""))
			actionErrors.add("subject.name", new ActionMessage(
					"subject.name.empty"));
		if (this.curriculum.equals(""))
			actionErrors.add("subject.curriculum", new ActionMessage(
					"subject.curriculum.empty"));
		if (this.curriculum.equals(""))
			actionErrors.add("subject.curriculum", new ActionMessage(
					"subject.curriculum.full"));

		return actionErrors;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public List<Subject> getSubjects() {
		return subjects;
	}

	public void setSubjects(List<Subject> subjects) {
		this.subjects = subjects;
	}

	public String getCurriculum() {
		return curriculum;
	}

	public void setCurriculum(String curriculum) {
		this.curriculum = curriculum;
	}

	public Short getCredits() {
		return credits;
	}

	public void setCredits(Short credits) {
		this.credits = credits;
	}

	public void clear() {
		id = null;
		code = "";
		name = "";
		credits = null;
		curriculum = "";
		subjects = null;
	}
}
